﻿//using System;
//using System.Collections.Generic;
//using System.Runtime.Serialization;

//namespace Simhopp.Common
//{
//    /// <summary>
//    /// The Judge class provides a description of a judge user.
//    /// </summary>
//    [Serializable]
//    public class Judge : User
//    {
//        #region CONSTRUCTOR REGION

//        /// <summary>
//        /// Constructor
//        /// </summary>
//        /// <param name="userName">The username of the judge user.</param>
//        /// <param name="name">The name of the judge.</param>
//        /// <param name="gender">The gender of the judge.</param>
//        /// <param name="age">The age of the judge.</param>
//        /// <param name="nationality">The nationality of the judge. Example: "Sweden".</param>
//        /// <param name="socialSecurityNumber">The social security number of the judge. Example: 197811058866</param>
//        /// <param name="inCompetition">The competition in which the judge participates.</param>
//        public Judge(String userName = "",
//            String name = "",
//            Genders gender = Genders.Male,
//            int age = 0,
//            String nationality = "",
//            String socialSecurityNumber = "",
//            Competition inCompetition = null)
//            : base(userName, name, gender,
//            age, nationality, socialSecurityNumber,
//            inCompetition)
//        {
//            HasSubmittedScore = false;
//        }
//        public Judge() { }
//        #endregion
//        #region PROPERTY REGION

//        public bool HasSubmittedScore { get; set; }

//        #endregion
//        #region SERIALIZATION/DESERIALIZATION REGION
//        public override void GetObjectData(SerializationInfo info, StreamingContext context)
//        {
//            base.GetObjectData(info, context);
//            info.AddValue("HasSubmittedScore", HasSubmittedScore,typeof(bool));
//        }
//        protected Judge(SerializationInfo info, StreamingContext context)
//            : base(info, context)
//        {
//            HasSubmittedScore = (bool)info.GetValue("HasSubmittedScore", typeof(bool));
//        }
//        #endregion
//        #region METHOD REGION
//        /// <summary>
//        /// Commits a score with the specified value to the specified dive.
//        /// </summary>
//        /// <param name="dive">The dive that is to recieve the score.</param>
//        /// <param name="value">The score value.</param>
//        public void CommitScore(double value, Dive dive)
//        {
//            Score score = new Score(this, value);

//            dive.AddScore(score);
//        }
//        #endregion
//    }
//}
